# 元组—— 定义元组使用()
# 列表是可以修改的，元组一旦定义完成就不可以修改
# 定义元组字面量——(元素,元素,元素,...,元素)
# 定义元组变量—— 变量 = (元素,元素,元素,...,元素)
# 定义空元组—— 变量名称 = ()         变量名称 = tuple()

# 定义元组
t1 = (2,"hello",True,False)
t2 = ()
t3 = tuple()
print(f"t1的类型是:{type(t1)};内容是{t1}")
print(f"t2的类型是:{type(t2)};内容是{t2}")
print(f"t3的类型是:{type(t3)};内容是{t3}")

# 定义单个元素的元组—— 注意在后面要加逗号才是元组
t4 = ("hello",)
print(f"t4的类型是:{type(t4)};内容是{t4}")

# 元组的嵌套
t5 = (t1,t2,t3,t4)
print(f"t5的类型是:{type(t5)};内容是{t5}")

# 下标索引取出内容
content = t5[0][2]
print(f"从嵌套元组中取出的数据是{content}")

# 元组的索引
index_1 = t1.index(True)
print(f"元素True的下标是{index_1}")
index_2 = t5.index(t2)
print(f"元组t2的下标是{index_2}")

# count 统计方法
t6 = (1,"hello","hello",False,"hello","hello",True)
count = t6.count("hello")
print(f"元组t7中hello的数量为{count}")

# len函数统计元组个数
num_1 = len(t1)
print(f"元组t1中有{num_1}个元素")
num_2 = len(t5)
print(f"元组t5中有{num_2}个元素")

# 元组的遍历——while 循环
index_3 = 0
while index_3 < len(t1):
    print(t1[index_3])
    index_3 += 1

# 元组的遍历——for 循环
for element in t5:
    print(element)

# 修改元组内的list内容
t7 = (1,2,["it","hello"])
print(f"t7的内容是:{t7}")
t7[2][0] = "world"
print(f"t7的内容是:{t7}")



